//包装函数
module.exports = function(grunt){

	//任务配置，所有插件的配置信息
	grunt.initConfig({

		//获取 package.json的信息
		pkg: grunt.file.readJSON('package.json'),

		// uglify插件的配置信息
		uglify:{
			options:{
				stripBanners: true,
				banner:'/*hello world */\n'
			},
			build:{
				src: 'js/*.js',
				dest: 'dist'
			}
		},

		// jshint插件的配置信息
		jshint:{
			build:['Gruntfile.js','js/*.js'],
			options:{
				jshintrc:'.jshintrc'
			}
		},

		//watch插件的配置信息
		watch:{
			client:{
				files:['web/less/*.less'],
				tasks:['less'],
				options:{
					livereload:true
				}
			},
			build:{
				files:['js/*.js'],
				tasks:['jshint','uglify'],
				options:{ spawn: false }
			}
		},

		//less插件的配置信息
		less:{
			main:{
				expand: true,
				src:['web/*/*.less'],
				dest:'web/css/',
				ext:'.css'
			},
			dev:{
				options:{
					compress:true,
					yuicompress:false
				}
			}
		}

	});

	// 告诉grunt我们将使用插件
	grunt.loadNpmTasks('grunt-contrib-uglify');
	grunt.loadNpmTasks('grunt-contrib-jshint');
	grunt.loadNpmTasks('grunt-contrib-watch');
	grunt.loadNpmTasks('grunt-contrib-less');

	//告诉grunt当我们在终端中输入grunt时需要做些什么(注意先后顺序)
	grunt.registerTask('default',['less','watch']);

};